Computer virtualization is a technique that involves encapsulating a physical computing machine platform into a virtual machine that is executed under the control of virtualization software running on a hardware computing platform (also referred to herein as “host system” or “host computer”). A group of hardware computing platforms may be organized as a cluster to provide the hardware resources for virtual machines. In a data center that employs virtual machines, it is common to see hundreds, even thousands, of virtual machines running on multiple clusters of host systems.
Cloud computing refers to distributed allocation of computing resources via a computer network rather than from a single local computer. A “cloud” can include one or more host computers that can be arranged as clusters of host computers. In addition, host computers and clusters of host computer can be arranged in a data center, and multiple data centers can be arranged as “virtual centers.”
Navigating a large inventory of objects (e.g., virtual centers, data centers, host computers, virtual machines, and/or data storage for the virtual machines) in the virtual computing environment poses numerous usability challenges. Typically, the inventory is displayed as an “inventory tree,” where objects in the virtual computing environment are arranged according to their hierarchy. FIG. 3 is a conceptual diagram of a user interface for navigating an inventory of objects, according to the prior art. As shown, objects are displayed in a panel (shown on the left side of the interface) according to the object hierarchy. However, using an inventory tree to display the inventory of objects has significant drawbacks. In large environments of tens of thousands of objects, the inventory tree does not provide a complete picture of the entire environment due to limited screen size. Similarly, when any single branch of the tree has a large number of objects, only a part of the branch can be shown on the screen at any point in time. Another limitation is that the inventory tree is constructed along a single dimension, meaning that each object has at most one parent. In addition, because of the limited screen space for displaying metadata in the inventory tree, each object is associated with, at most, a few icons or “badges” that indicate that additional information about the object is available.